package com.ruoyi.zxjd.document.domain;

import java.util.Date;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 公文处理对象 document_progress
 * 
 * @author lcc
 * @date 2021-01-28
 */
public class DocumentProgress extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公文处理ID */
    private Long progressId;

    /** 公文列表ID */
    @Excel(name = "公文列表ID")
    private Long arrangeId;

    /** 公文标题 */
    @Excel(name = "公文标题")
    private String arrangeTitle;

    /** 接收人ID */
    @Excel(name = "接收人ID")
    private Long receiveUserId;

    /** 接收人 */
    @Excel(name = "接收人")
    private String receiveUser;

    /** 接收单位ID */
    @Excel(name = "接收单位ID")
    private Long receiveDeptId;

    /** 接收单位 */
    @Excel(name = "接收单位")
    private String receiveDept;

    /** 接收日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接收日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveDate;

    /** 截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 需要回执（0不需要 1需要） */
    private String receiptTips;

    /** 回执信息 */
    @Excel(name = "回执信息")
    private String receiptInfo;

    /** 状态（1待接收 2已接收 3已上报 4已完成 5已退回 6已逾期） */
    @Excel(name = "状态", readConverterExp = "1=待接收,2=已接收,3=已上报,4=已完成,5=已退回,6=已逾期")
    private String status;

    /** 发布状态（0未发布 1已发布） */
    @Excel(name = "发布状态", readConverterExp = "0=未发布,1=已发布")
    private String releaseStatus;

    /** 发起人ID */
    private Long userId;

    /** 发起人 */
    @Excel(name = "发起人")
    private String userName;

    /** 发起机构ID */
    private Long deptId;

    /** 发起机构 */
    private String deptName;
    
    public void setProgressId(Long progressId) 
    {
        this.progressId = progressId;
    }

    public Long getProgressId() 
    {
        return progressId;
    }
    public void setArrangeId(Long arrangeId) 
    {
        this.arrangeId = arrangeId;
    }

    public Long getArrangeId() 
    {
        return arrangeId;
    }
    public void setArrangeTitle(String arrangeTitle) 
    {
        this.arrangeTitle = arrangeTitle;
    }

    public String getArrangeTitle() 
    {
        return arrangeTitle;
    }
    public void setReceiveUserId(Long receiveUserId) 
    {
        this.receiveUserId = receiveUserId;
    }

    public Long getReceiveUserId() 
    {
        return receiveUserId;
    }
    public void setReceiveUser(String receiveUser) 
    {
        this.receiveUser = receiveUser;
    }

    public String getReceiveUser() 
    {
        return receiveUser;
    }
    public void setReceiveDeptId(Long receiveDeptId) 
    {
        this.receiveDeptId = receiveDeptId;
    }

    public Long getReceiveDeptId() 
    {
        return receiveDeptId;
    }
    public void setReceiveDept(String receiveDept) 
    {
        this.receiveDept = receiveDept;
    }

    public String getReceiveDept() 
    {
        return receiveDept;
    }
    public void setReceiveDate(Date receiveDate) 
    {
        this.receiveDate = receiveDate;
    }

    public Date getReceiveDate() 
    {
        return receiveDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public String getReceiptTips() {
        return receiptTips;
    }

    public void setReceiptTips(String receiptTips) {
        this.receiptTips = receiptTips;
    }

    public String getReceiptInfo() {
        return receiptInfo;
    }

    public void setReceiptInfo(String receiptInfo) {
        this.receiptInfo = receiptInfo;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setReleaseStatus(String releaseStatus) 
    {
        this.releaseStatus = releaseStatus;
    }

    public String getReleaseStatus() 
    {
        return releaseStatus;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("progressId", getProgressId())
            .append("arrangeId", getArrangeId())
            .append("arrangeTitle", getArrangeTitle())
            .append("receiveUserId", getReceiveUserId())
            .append("receiveUser", getReceiveUser())
            .append("receiveDeptId", getReceiveDeptId())
            .append("receiveDept", getReceiveDept())
            .append("receiveDate", getReceiveDate())
            .append("endDate", getEndDate())
            .append("receiptTips", getReceiptTips())
            .append("receiptInfo", getReceiptInfo())
            .append("status", getStatus())
            .append("releaseStatus", getReleaseStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public DocumentProgress(Long arrangeId, String arrangeTitle, Long receiveUserId, String receiveUser,
            Long receiveDeptId, String receiveDept, Date endDate, String status, String releaseStatus) {
        this.arrangeId = arrangeId;
        this.arrangeTitle = arrangeTitle;
        this.receiveUserId = receiveUserId;
        this.receiveUser = receiveUser;
        this.receiveDeptId = receiveDeptId;
        this.receiveDept = receiveDept;
        this.endDate = endDate;
        this.status = status;
        this.releaseStatus = releaseStatus;
    }

    public DocumentProgress() {
    }
    
}
